/**
 * Plugin Interface
 * 
 * 所有插件都需要实现这个接口
 */

class PluginInterface {
  /**
   * 插件名称
   * @type {string}
   */
  name;

  /**
   * 插件版本
   * @type {string}
   */
  version;

  /**
   * 插件描述
   * @type {string}
   */
  description;

  /**
   * 插件激活时调用
   * @param {PluginManager} pluginManager - 插件管理器实例
   * @returns {Promise<void>}
   */
  async activate(pluginManager) {
    throw new Error('activate method not implemented');
  }

  /**
   * 插件停用时调用
   * @returns {void}
   */
  deactivate() {
    throw new Error('deactivate method not implemented');
  }
}

module.exports = PluginInterface;